package com.sansui.blog.service;

import com.sansui.blog.pojo.Tag;

import java.util.List;
import java.util.Map;

/**
 * @name: TagService
 * @author: Sansui
 * @Software: IDEA
 * @Blog: https://www.cnblogs.com/sansui6/
 * @date: 2022-03-21 21:16
 **/

/*
 * 后台 标签 配置 service
 * */
public interface TagService {


    /**
     * 分页获取后台 所有标签信息
     * @return 所有标签信息
     * Integer page,Integer limit
     */
    Map<String, Object> getAllTagByPage(Integer page, Integer limit);

    /**
     * 获取后台 所有标签信息
     * @return 所有标签信息
     * Integer page,Integer limit
     */
    List<Tag> findAll();

    /**
     * 保存标签信息
     * @return 保存标签信息
     */
    Map<String, Object> addTag(String tagName, String username);

    /**
     * 根据tagId获取标签信息
     * @return 标签信息
     */
    Tag getTagById(Long tagId);

    /**
     * 根据name获取标签信息
     * @return 标签信息
     */
    Map<String, Object> tagSearchByName(String tagName);

    /**
     * 修改标签信息
     * @return 修改标签信息
     */
    Map<String, Object> updateTag(String tagName, Long tagId, String username);

    /**
     * 删除标签信息
     * @return 是否删除成功
     */
    Map<String, Object> deleteTag(Long tagId);

    /**
     * 批量删除标签信息
     * @return 结果
     */
    Map<String, Object> deleteTagByIds(List<String> delList);

    /**
     * 获取标签id、名称、以及对应博客数量
     * @return
     */
    List<Map<String, Object>> countTagInfo();

}
